using System;
using ns27;
using Triton.Game.Mono;

namespace Triton.Game.Mapping
{
	[Attribute38("BnetBattleTag")]
	public class BnetBattleTag : MonoClass
	{
		public string m_name => method_4("m_name");

		public int m_number => method_2<int>("m_number");

		public BnetBattleTag(IntPtr address, string className)
			: base(address, className)
		{
		}

		public BnetBattleTag(IntPtr address)
			: this(address, "BnetBattleTag")
		{
		}

		public static BnetBattleTag CreateFromString(string src)
		{
			return MonoClass.smethod_15<BnetBattleTag>(TritonHs.MainAssemblyPath, "", "BnetBattleTag", "CreateFromString", new object[1] { src });
		}

		public static bool op_Equality(BnetBattleTag a, BnetBattleTag b)
		{
			return MonoClass.smethod_14<bool>(TritonHs.MainAssemblyPath, "", "BnetBattleTag", "op_Equality", new object[2] { a, b });
		}

		public static bool op_Inequality(BnetBattleTag a, BnetBattleTag b)
		{
			return MonoClass.smethod_14<bool>(TritonHs.MainAssemblyPath, "", "BnetBattleTag", "op_Inequality", new object[2] { a, b });
		}

		public BnetBattleTag Clone()
		{
			return method_14<BnetBattleTag>("Clone", Array.Empty<object>());
		}

		public string GetName()
		{
			return method_13("GetName");
		}

		public void SetName(string name)
		{
			method_8("SetName", name);
		}

		public int GetNumber()
		{
			return method_11<int>("GetNumber", Array.Empty<object>());
		}

		public void SetNumber(int number)
		{
			method_8("SetNumber", number);
		}

		public string GetString()
		{
			return method_13("GetString");
		}

		public bool SetString(string composite)
		{
			return method_11<bool>("SetString", new object[1] { composite });
		}

		public new bool Equals(object obj)
		{
			return method_10<bool>("Equals", new Class276.Enum20[1] { Class276.Enum20.Class }, new object[1] { obj });
		}

		public bool Equals(BnetBattleTag other)
		{
			return method_10<bool>("Equals", new Class276.Enum20[1] { Class276.Enum20.Class }, new object[1] { other });
		}

		public new int GetHashCode()
		{
			return method_11<int>("GetHashCode", Array.Empty<object>());
		}

		public new string ToString()
		{
			return method_13("ToString");
		}
	}
}
